3 research outputs found

    Designing pedagogically effective activities for learning programming in a mobile tutor.

    Get PDF
    Smartphones are engaging and powerful devices which provide opportunities for ubiquitous learning. My PhD research project focuses on developing learning activities for programming in a smartphone application. I present PyKinetic–a mobile tutor for learning Python programming targeted at introductory programming students. The project is interdisciplinary as it uses foundational principles from several disciplines: computer science education, educational psychology, human computer interaction, and software engineering. This work is in the field of computer science education, as I developed and designed activities and strategies for learning programming in a mobile tutor. I achieved this by applying some theories from educational psychology and human computer interaction, and finally, I built PyKinetic from null and developed it with the guidance of basic software engineering principles. This research is aimed at teaching Python programming because it is one of the most popular languages used to teach introductory programming. There are several educational systems that are successful in teaching programming. However, my research aims to bridge the gap by exploring a rather uncharted territory in teaching programming – specifically by using smartphone devices. The aim of my project is to design effective learning activities in a mobile tutor to enhance specific coding skills (code debugging and code writing). Another goal is to find direct associations between my designed activities to selectively target certain programming skills. Towards building an effective mobile tutor, another goal is to develop a novel framework for pedagogically effective programming activities, and to design activities and strategies based on that framework. The main contribution of my research includes authoring the content for PyKinetic, designing, and implementing a mobile tutor effective for enhancing Python programming skills. The results of my studies revealed that introductory programming students enjoy learning programming via smartphones. More importantly, majority of my participants improved their coding skills when using PyKinetic even when they only used it for a short session. I also discovered that certain activities are more beneficial for students with lower prior knowledge, while other activities are more suitable for those with higher prior knowledge. Furthermore, I found benefits for combining programming tasks of different nature, and that it gives learners the opportunity to learn multiple coding skills within one learning encounter. I also found evidence of the hierarchy of coding skills in learning programming, which was astoundingly diverse when students with different knowledge levels were compared. Lastly, I found evidence that a mobile programming tutor is more effective with adaptive problem selection

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
    corecore